package com.rz.htk.order.service.impl;

import com.rz.core.exception.GlobalException;
import com.rz.htk.order.entity.Order;
import com.rz.htk.order.service.IUSPSValidate;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

/**
 * @Author maweiyue
 * @Date 2019/9/11
 * @Description 美国usps产品订单信息校验
 */
@Component
public class USPSValidate implements IUSPSValidate {

    public boolean validate(Order order){
        if (order.getProvince() == null) {
            throw new GlobalException("订单信息【省/州】信息不能为空，且必须位2位简写！");
        } else {
            if (order.getProvince().length() != 2) {
                // 如果省/州信息不是2位的简写，则根据填写信息自动获取简写，获取不到时抛出异常
                throw new GlobalException("订单信息【省/州】信息必须为2位简写！");
            }
        }
        if (StringUtils.isEmpty(order.getRecipientsPhone()) || order.getRecipientsPhone().length() != 10) {
            throw new GlobalException("订单信息【收件人电话】必须为10位电话号码！");
        }
        if (StringUtils.isEmpty(order.getRecipientsPostcode()) || order.getRecipientsPostcode().length() != 5) {
            throw new GlobalException("订单信息【收件人邮编】必须为5位邮编！");
        }
        return true;
    }
}
